//
//  UITableView+Cell.h
//  UniversalApp
//
//  Created by 郭颢源 on 2020/8/19.
//  Copyright © 2020 bianruifeng. All rights reserved.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

/// 快速创建列表元素
@interface UITableView (cell)

/// 通过Xib、Nib 注册的 Cell
/// @param cellClass 类名
- (void)registerNib:(nullable Class)cellClass;

/// 通过class 注册的 Cell
/// @param cellClass 类名
- (void)registerClass:(nullable Class)cellClass;

/// 根据Xib、Nib注册的 HeaderFooter
/// @param cellClass 类名：需和Xib、Nib同名
- (void)registerHeaderFooterNib:(nullable Class)cellClass;

/// 根据class 注册的 HeaderFooter
/// @param cellClass 类名
- (void)registerHeaderFooterClass:(nullable Class)cellClass;

/// 根据class 获取 cell，未注册返回nil
/// @param cellClass 类名
-(__kindof UITableViewCell *)dequeueReusableCell:(nullable Class)cellClass;

/// 根据class 获取 HeaderFooter，未注册返回nil
/// @param cellClass 类名
-(__kindof UITableViewHeaderFooterView *)dequeueReusableHeaderFooterView:(nullable Class)cellClass;

/// 根据class名 注册并返回 Cell
/// @param cellClass 类名
-(__kindof UITableViewCell *)cellClass:(nullable Class)cellClass;
/// 根据Xib、Nib 名 注册并返回 Cell
/// @param cellClass 类名
-(__kindof UITableViewCell *)cellNib:(nullable Class)cellClass;

/// 根据class名 注册并返回 HeaderFooter
/// @param cellClass 类名
-(__kindof UITableViewHeaderFooterView *)headerFooterViewWithClass:(nullable Class)cellClass;

/// 根据Xib、Nib 名 注册并返回 HeaderFooter
/// @param cellClass 类名：需和Xib、Nib同名
-(__kindof UITableViewHeaderFooterView *)headerFooterViewWithNib:(nullable Class)cellClass;

@end

NS_ASSUME_NONNULL_END
